package net.lab1024.sa.ai.stream.module.business.ai.integration;

import org.springframework.stereotype.Component;

@Component
public class ScnetErrorCodeHandler implements LlmErrorCodeHandler {
    @Override
    public String getModelType() {
        return "scnet";
    }

    @Override
    public String getFriendlyMessage(int statusCode, String errorBody) {
        switch (statusCode) {
            case 400: return "格式错误：Authorization格式错误，或请求体有误。请检查请求格式和参数。";
            case 401: return "认证失败：API key 错误或认证失败，请检查您的 API key。";
            case 402: return "余额不足：账户余额不足，请前往充值页面充值。";
            case 422: return "参数错误：请求体参数错误，请根据错误信息提示修改相关参数。";
            case 429: return "请求速率达到上限：TPM 或 RPM 达到上限，请合理规划请求速率。";
            case 430: return "未授权模型：您的账号调用未授权的模型，请联系平台客服。";
            case 431: return "账号停用：账号停用，请联系平台客服协助排查或启用。";
            case 432: return "账号或密码错误：请重试您的用户名或密码。";
            case 500: return "服务器故障：服务器内部故障，请稍等后重试。";
            case 503: return "服务器繁忙：服务器负载过高，请稍后重试您的请求。";
            case 510: return "模型调用错误：模型调用用限，请联系平台客服。";
            default:
                return "Scnet API 调用失败，错误码：" + statusCode + "，请联系管理员。";
        }
    }
} 